package com.example.teachingSystem.pojo.form.course;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;
@Data
@Schema(description = "课程添加表")
public class UpdateCourseForm {
    @Schema(description = "课程courseId")
    @NotNull(message = "课程courseId不能为空")
    private Long courseId;

    /**
     * 课程名称：课程的名称。
     */
    @Schema(description = "课程名称")
    @NotNull(message = "课程名称不能为空")
    private String courseName;

    /**
     * 课程代码：课程的唯一代码。
     */
    @Schema(description = "课程代码")
    @NotNull(message = "课程代码不能为空")
    private String courseCode;

    /**
     * 教师ID：授课教师的ID。
     */
    @Schema(description = "课程名称")
    @NotNull(message = "课程名称不能为空")
    private Long teacherId;

    /**
     * 学分：课程的学分。
     */
    @Schema(description = "学分名称")
    @NotNull(message = "课学分不能为空")
    @Range(min = 0,max = 150,message = "可选人数为0以上但不能超过150")
    private Float credit;

    /**
     * 开设院系：课程所属的开设院系。
     */
    @Schema(description = "开设院系")
    @NotNull(message = "开设院系不能为空")
    private String department;

    /**
     * 课程描述：课程的详细描述。
     */
    @Schema(description = "课程描述")
    @Length(min = 0,max = 150,message = "课程描述不能超过150字")
    private String description;

    /**
     * 可选人数：课程的最大可选人数。
     */
    @Schema(description = "可选人数")
    @NotNull(message = "可选人数不能为空")
    @Range(min = 0,max = 150,message = "可选人数为0以上但不能超过150")
    private Integer maxNum;

    /**
     * 学期id
     */
    @Schema(description = "学期")
    @NotNull(message = "学期不能为空")
    private Long semesterId;
}
